﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
#if NETFX_CORE
#else
using System.Windows.Media;
#endif
using ArchiSimple.Windows.Model;
using ArchiSimple.Windows.Tools;

namespace ArchiSimple.Windows.ViewModel.PlanObjects
{
    public abstract class PlanObjectViewModel<T> : PlanObjectViewModel
        where T : PlanObject
    {
        protected PlanViewModel Plan { get; private set; }

        protected Designer Designer { get; private set; }

        public PlanObjectViewModel(PlanViewModel plan, T model, Designer designer)
        {
            this.Current = model;
            this.Designer = designer;
            this.Plan = plan;
        }

        public T Current { get; private set; }

        public override PlanObject PlanObject
        {
            get { return this.Current; }
        }
    }
}
